package it.gat.controller;

import java.util.Arrays;
import java.util.List;

import it.gat.controller.resource.ResourceFactory;
import it.gat.model.Appuntamento;
import it.gat.model.Operatore;
import it.gat.webservice.string.Resource;

public class AppuntamentoController {
	
	public Appuntamento getAppuntamento(int idAppuntamento)
	{
		return ResourceFactory.get(Resource.APPUNTAMENTO,idAppuntamento,Appuntamento.class); 
	}
	
	public List<Appuntamento> getAppuntamentoTecnicoList(String nomeUtente)
	{
		return Arrays.asList(ResourceFactory.get(Resource.APPUNTAMENTO,Resource.LISTAURI+"/"+nomeUtente,Appuntamento[].class));
	}
	
	public Appuntamento insertAppuntamento(Appuntamento appuntamento)
	{
		return ResourceFactory.post(Resource.APPUNTAMENTO, appuntamento,Appuntamento.class);
	}
	
	public void updateAppuntamento(Appuntamento appuntamento)
	{
		ResourceFactory.put(Resource.APPUNTAMENTO, appuntamento.getIdAppuntamento(),appuntamento);
	}
	
	public void deleteAppuntamento(String codice)
	{
		ResourceFactory.delete(Resource.APPUNTAMENTO,codice);
	}
	
	public boolean checkTecnicoAppuntamenti(Appuntamento appuntamento,Operatore tecnico)
	{
		List<Appuntamento> appuntamenti = getAppuntamentoTecnicoList(tecnico.getNomeUtente());
		for(Appuntamento appuntamentoIter:appuntamenti)
		{
			if (appuntamentoIter.getOrario().compareTo(appuntamento.getOrario())==0)
				return false;
		}
		return true;
	}

}
